User input system for immersive interaction

ABSTRACT

A system and method for providing immersive interaction between users and interactive software programs comprise receiving radio frequency (RF) signals, transmitted by an RF-transmitting device, at three or more spatially separated antennas. Time of arrival information is acquired from the RF signals. A position of the RF-transmitting device is computed from the time of arrival information acquired from the RF signals. The position of the RF-transmitting device is registered within a virtual environment produced by an interactive software program (which can execute on a mobile device). The virtual environment, as affected by the registered position of the RF-transmitting device, is transmitted to a display apparatus for display.

RELATED APPLICATION

This application claims the benefit of and priority to U.S. provisional application No. 61/682,787, filed Aug. 14, 2012, titled “New User Input System for Immersive Interaction,” the entirety of which is incorporated by reference herein.

FIELD OF THE INVENTION

The invention relates generally to systems and methods for human-computer interaction. More particularly, the invention relates to a user input system for immersive human-computer interaction.

BACKGROUND

Much investment has gone toward improving the immersive experience in human-computer interaction. Many industries, such as medicine, architecture, aeronautics, teaching, and manufacturing, have benefited from immersive interactive technologies. Game immersive interaction is a widely publicized market because of its size and of the relative value of improving the users' experience during game-play. This improved experience relates directly to how realistic, how lifelike the game feels to a player. One of the keys to providing this lifelike sense of reality within a game is to register a user's physical world within the digital world created by the computer game system.

Today, the principal technologies involved in registering a user's physical world with a game's computer world have been infrared (IR), inertial, and camera gesture tracking. Each technology adds a different level of interaction and experience for games. Inertial and camera gesture tracking allow a game to sense a user's motion and IR tracking provides some two dimensional pointing functionality for fine-tuning an inertial tracking system. However, each of these technologies has limitations. All camera and IR systems are limited to line-of-sight with the user or user's game controller, and working volumes are restricted by angle of view restrictions and poor depth sensing. Inertial technologies, like those used by gyroscopes, accelerometers, and magnetometers, track motion, not position. For the most part, these technologies focus on improving the gaming consoles made specifically for games that have very large processing power and speed requirements.

A new phenomenon, mobile gaming, has arisen from the enormous success of smart phones and tablets. Users can now download and play games directly on a smart phone or tablet's touch-screen without cost or for a small investment compared to the relatively high cost of console game software. The advance of technology has led to smart phones (a mobile phone built on a mobile operating system, having computing and networking capability) and tablets (mobile computer) with increasingly powerful processing that enable them to operate games directly, without requiring an external game console. In addition, requirements for software developers to produce games for mobile devices have become less restrictive than producing such games for game consoles. These market forces have allowed mobile gaming to become as large as the console gaming market and mobile gaming is likely to surpass console gaming in the near future.

Despite the growing success of mobile games, these games suffer from limited user interface options imposed by a simple and small two-dimensional touch screen. Many mobile games are played by touching a display screen and by using the point of touch as the input point for navigating and controlling the game. Playing games on a small touch screen, with the touch screen as the only input option, produces a limited immersive experience compared to playing on a large television screen. These interface and hardware realities inherently limit a mobile device's level of immersive interaction.

SUMMARY

In one aspect, the invention features a position tracking system for providing immersive interaction between users and interactive software programs. The position tracking system comprises a network of three or more spatially separated antennas fixed at different locations. The three or more antennas receive radio signals sent from an RF-transmitting device. A user input system is in communication with the network of antennas, to acquire therefrom time of arrival information of the radio signals received by each of the antennas. The user input system includes a first interface in communication with an interactive software program that produces a virtual environment and a second interface in communication with a device having a display screen on which the virtual environment produced by the interactive software program is displayed. The user input system further includes a processor programmed to calculate a position of the RF-transmitting device from the time of arrival information acquired from each of the antennas and to register the position of the RF-transmitting device within the virtual environment produced by the interactive software program and displayed on the display screen.

In another aspect, the invention features a method for providing immersive interaction between users and interactive software programs. The method comprises receiving radio frequency (RF) signals, transmitted by an RF-transmitting device, at three or more spatially separated antennas. Time of arrival information is acquired from the RF signals. A position of the RF-transmitting device is computed from the time of arrival information acquired from the RF signals. The position of the RF-transmitting device is registered within a virtual environment produced by an interactive software program. The virtual environment, as affected by the registered position of the RF-transmitting device, is transmitted to a display apparatus for display.

In still another aspect, the invention features a computer program product for providing immersive interaction between users and interactive software programs. The computer program product comprises a computer readable storage medium having computer readable program code embodied therewith. The computer readable program code comprises computer readable program code that, if executed, processes radio frequency (RF) signals transmitted by an RF-transmitting device and received by three or more spatially separated antennas, computer readable program code that, if executed, acquires time of arrival information from the RF signals, computer readable program code that, if executed, computes a position of the RF-transmitting device from the time of arrival information acquired from the RF signals, computer readable program code that, if executed, registers the position of the RF-transmitting device within a virtual environment produced by an interactive software program, and computer readable program code that, if executed, transmits the virtual environment, as affected by the registered position of the RF-transmitting device, to a display apparatus for display.

The computer program product can further comprise any one or more of the following, alone or in combination: the interactive software program that, if executed, produces the virtual environment; computer readable program code that, if executed, communicates wirelessly with a mobile device running the interactive software program, to receive the virtual environment as affected by the registered position; computer readable program code that, if executed, communicates over a Universal Serial Bus (USB) connection to a mobile device running the interactive software program, to receive the virtual environment as affected by the registered position; computer readable program code that, if executed, communicates wirelessly with the antennas; and computer readable program code that, if executed, transmits the virtual environment, as affected by the registered position of the RF-transmitting device, to the display apparatus for display over an HDMI connection.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an embodiment of a user input system.

FIG. 2 is a block diagram of an embodiment of the user input system configured to track the position of an RF-transmitting device.

FIG. 3 is a block diagram of an embodiment of a communication interface of the user input system.

FIG. 4 is a block diagram illustrating a wireless communication link to a television (TV).

FIG. 5 is a block diagram illustrating the user input system with a standard power connection for power.

FIG. 6 is a block diagram showing the user input system using a wireless connection to antennas.

FIG. 7 is a block diagram showing the user input system as embedded in a TV.

FIG. 8 is a diagram of an embodiment of a wearable RF-transmitting device.

FIG. 9 is a flow diagram of an embodiment of a process for providing immersive interaction between users and interactive software programs.

DETAILED DESCRIPTION

User input systems described herein combine a method of registering a user's physical world with the digital environment with an embodiment that allows users to play the games, typically played directly on their mobile devices, on their televisions or PC monitors.

Radio frequency (RF)-based position tracking can solve several limitations of camera and infrared optical tracking systems, such as line-of-sight and small working volumes. RF position tracking can also solve the problem of position drift experienced by inertial systems. In addition, inertial systems can be used to determine the orientation of the RF-transmitting device. Such orientation information can be used to complement the position tracking. Integral to the user input systems described herein, an RF position tracking system that can accurately register the physical position of an RF-transmitting device (e.g. game or TV controller) to control software programs that normally use mouse, touch, or similar two dimensional navigation input methodologies. In general, the RF-transmitting device is a peripheral, human interface device that can be held, grasped, worn by, attached to, or placed on the user and is typically powered by a self-contained power source. The RF-transmitting device includes two functions: a transmitter function for transmitting radio signals needed to track the position of the RF-transmitting device, and an input function for providing data and/or control signals (e.g., spatial data).

By using the processing power of a mobile device (e.g., tablet, smart phone, laptop computer) to operate the software program, the described user input systems can reduce cost and complexity. Through wired (or wireless) connectivity to the user's TV, a user input system provides a new way of playing video games through improved free space registration of the RF-transmitting device and allows users to play these less expensive and/or free mobile games directly on their TV screen or PC monitor. Users are also able to download other application software (applications) for their mobile devices (smart phone, tablet, etc.), and be able to view their new applications on their TV's (or PC monitors, etc.), and to navigate and interact with them through a game controller, TV remote, etc. (i.e., the RF-transmitting device).

In brief overview, each embodiment of a user input system (for televisions and other electronic monitors) tracks the position in free space of one or more RF-transmitting devices (such as a television remote controller) and uses the position of each RF-transmitting device to navigate and interface with software programs (such as video games) being run on a mobile touch screen or similar mobile device, or by the user input system itself. The user input system is equipped to connect to a television for power (via USB or similar connection), and for imaging transfer (via High Definition Multimedia Interface (HDMI) or similar connection) for viewing images produced by interactive software running on the mobile device.

In such a user input system, the input interface uses wireless radio signals received at multiple passive antennas in different locations, connected to the user input system, to make received signal timing measurements sent from the RF-transmitting device being tracked, and uses that timing data to make positioning calculations using triangulation or trilateration techniques. To calculate the position of the RF-transmitting device, the user input system can use techniques described in U.S. patent application Ser. No. 13/079,800, filed Apr. 4, 2011, titled “Multiplexing Receiver System”, and in U.S. patent application Ser. No. 13/918,295, filed Jun. 4, 2013, titled “RF Tracking with Active Sensory Feedback”, the entireties of which applications are incorporated by reference herein.

As the RF-transmitting device moves in free space, the user input system tracks its position and uses its position to navigate within a computer program via a mouse, Human Input Device (HID), or similar input device protocol. Tracking the position (as opposed to the motion) of the RF-transmitting device, the user input system can provide a more realistic and intuitive human-computer interactive interface. By providing means to run software, through either an internal operating system contained within the user input system, or by interfacing with an external mobile device such as a smart phone or a tablet, with a set-top box, or with a display device such as a TV, that is operating the software, the user input system can provide a cost effective approach for applications that utilize mobile devices for user interfaces during human-computer interaction.

FIG. 1 shows an embodiment of a user input system 11 in communication with a television (TV) 12 by a USB connection 13 to provide power to the user input system 11. An HDMI connection 14 is also used to transfer the image that is displayed from an external mobile device, in this embodiment a tablet 15, which is operating the interactive software program used in this example. The tablet 15 in this example is connected through a different USB connection 16 to the user input system 11 to allow the user input system 11 to utilize the operating system and processing power of the tablet 15 and/or to provide power to the tablet 15 directly from the user input system 11. In this embodiment, the user input system 11 incorporates four antennas 17, which are connected to the user input system 11 using coaxial or similar cables 18.

During operation, the user input system 11 receives the radio signals from an RF-transmitting device (ref. no. 22 in FIG. 2), such as a remote controller, and, by calculating the time of arrival information from the RF-transmitting device's RF signals received at each antenna 17, determines the position (two or three dimensional) of the RF-transmitting device in free space. The user input system 11 translates (or converts) this absolute position information of the RF-transmitting device into relative cursor movement information. The user input system 11 then sends this relative cursor movement information to the tablet 15, where the relative cursor movement information is used as interactive input, like a mouse input, to navigate within and to control the interactive application program being run by the tablet 15. As the interactive application program is running in the tablet 15, the image from the tablet 15 is sent to the user input system 11 through the USB connection 16 and, then, from the user input system 11 to the TV 12 through the HDMI 14 connection. In this example embodiment, the tablet 15 utilizes its own program operating system, thereby reducing costs and enabling the user input system 11 to limit its operations to position tracking of the RF-transmitting device, data communication, and position input translation/conversion via Human Interface Device or similar user input device protocols. In other embodiments, the user input system 11, the TV 12, or a set-top box in communication with the TV, can run the interactive application program.

FIG. 2 shows an embodiment of a user input system 21 configured to track the position of an RF-transmitting device 22 by using the radio signals 23 sent by the RF-transmitting device 22. These signals are received at each of four antennas 24 connected to the user input system 21 by cables 25. Because each antenna 24 is located in a different position, the time of arrival of the radio signals 23 from the RF-transmitting device 22 are calculated and compared, using each location of each antenna 24 as the basis for triangulation or trilateration calculations. The user input system 21 then sends the position of the RF-transmitting device 22 to an external mobile device (not shown) for position registration for program navigation and operation.

FIG. 3 illustrates an embodiment of a process for registering the position of an RF-transmitting device within an application program running on an external mobile device. In this process, data 31 from the radio signals received at each of four antennas are transmitted to the user input system 32. The user input system 32 records the time of arrival information at each antenna and uses the time of arrival difference to calculate the position of the RF-transmitting device. In addition, the position is converted at the user input system 32 into a protocol that can be used by the tablet 34 for navigating the program that is being operated on the tablet 34. In our example embodiment, the user input system 32 uses the HID protocol and sends this data through a USB connection (33) to the tablet 34. The audio and video produced by the application program running in the tablet 34 (but controlled by the position of the RF-transmitting device determined in the user input system 32) are then transferred from the tablet 34 to the user input system 32 through the USB connection 33. The user input system 32 sends the audio and video to the TV 37 through the HDMI connection 35. In this embodiment, the user input system 32 uses the USB connection 36 from the TV 37 to power the operation of the user input system 32, thus enabling the user input system 32 to eliminate the need for an external power source beyond the USB connection 36 from the TV 37.

FIG. 4 shows another embodiment of a user input system 41 configured with wireless connectivity 42 to a TV 44. In this embodiment, the user input system 41 performs the position tracking function of an input device and sends position data to a tablet 46 (an example of an external mobile device) through a USB connection 47, for navigating and controlling the application program being operated on the tablet 46. The image from the tablet 46 can then be sent back to the user input system 41 for wireless transmission to the TV 44 via a WiFi or similar wireless protocol 42. Alternatively, the tablet 46 can be used to send the program image wirelessly to the TV 44 using a WiFi or similar wireless protocol 43. In both embodiments, the user input system 41 is connected to the antennas 48 by a coaxial or similar cable and is powered by a standard power connection 45. Alternatively, the tablet 46 can draw power from the user input system 41 directly through the USB connection 47 and not require the power connection 45.

FIG. 5 shows an embodiment of a process for registering the position of an RF-transmitting device within an application program running on an external mobile device. In this embodiment, the data 51 in the radio signals received at each of the four antennas are sent to the user input system 52, where their time of arrival information at each antenna is recorded and used by the user input system 52 to determine the position of the RF-transmitting device. The position of the RF-transmitting device is calculated by the user input system 52 and is converted at the user input system 52 into a protocol that can be used by the tablet 54 for navigating the program that is being operated on the tablet 54. In this embodiment, the user input system 52 uses the HID protocol and sends this data through a USB connection 53 to the tablet 54. The software program running in the tablet 54 but controlled by the position of the RF-transmitting device determined in the user input system 52 is then transferred through from the tablet 54 to the user input system 52 through the USB connection 53 and then sent by the user input system 52 to the TV 57 through the HDMI connection 55.

FIG. 6 shows an embodiment of a user input system 61 that tracks the position of an RF-transmitting device 62 by using the radio signals 63 sent by the RF-transmitting device 62 as they are received at each of the four antennas 64. Each of the four antennas 64 is connected to the user input system 61 through a wireless connection 65. Because each antenna 64 is located at a different position, the time of arrival of the radio signals 63 can be calculated and compared using each location as the basis for triangulation or trilateration calculations. The user input system 61 then sends the position of the RF-transmitting device 62 to an external mobile device (e.g., a smart phone, tablet, etc.), for position registration for program navigation and operation.

FIG. 7 shows an embodiment of the user input system 71 integrated into a TV (75). In this example, the user input system 71, including antennas 72, is embedded into the TV 75. In this embodiment, a Tablet 73 is operating the software programs and interfacing with the user input system 71 through a standard HDMI and/or a USB connection 74. In a similar embodiment, the user input system 71 can also be integrated into a computer/computer monitor, or similar computer with view screen or without a monitor.

FIG. 8 shows an embodiment of a wearable wireless RF-transmitting device 81 tracked by a user input system 82. In this embodiment, the user wears the RF-transmitting device 81 on a wrist (rather than handheld). Wearing the RF-transmitting device 81 allows the user to use his or her hands and fingers for other activities, but still provides position tracking of the hand for interaction with the user input system 82. In other embodiments, a user can wear or hold multiple RF-transmitting devices 81 to provide an extensive kinematic tracking.

FIG. 9 shows an embodiment of a process 100 for providing immersive interaction between users and interactive software programs. The process 100 includes receiving (step 102) radio frequency (RF) signals, transmitted by an RF-transmitting device, at three or more spatially separated antennas. Time of arrival information is acquired (step 104) from the RF signals. A position of the RF-transmitting device is computed (step 106) from the time of arrival information acquired from the RF signals. The position of the RF-transmitting device is registered (step 108) within a virtual environment produced by an interactive software program. The virtual environment, as affected by the registered position of the RF-transmitting device, is transmitted (step 110) to a display apparatus for display.

As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method, and computer program product. Thus, aspects of the present invention may be embodied entirely in hardware, entirely in software (including, but not limited to, firmware, program code, resident software, microcode), or in a combination of hardware and software. All such embodiments may generally be referred to herein as a circuit, a module, or a system. In addition, aspects of the present invention may be in the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.

The computer readable medium may be a computer readable storage medium, examples of which include, but are not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. As used herein, a computer readable storage medium may be any non-transitory, tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, device, computer, computing system, computer system, or any programmable machine or device that inputs, processes, and outputs instructions, commands, or data. A non-exhaustive list of specific examples of a computer readable storage medium include an electrical connection having one or more wires, a portable computer diskette, a floppy disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), a USB flash drive, an non-volatile RAM (NVRAM or NOVRAM), an erasable programmable read-only memory (EPROM or Flash memory), a flash memory card, an electrically erasable programmable read-only memory (EEPROM), an optical fiber, a portable compact disc read-only memory (CD-ROM), a DVD-ROM, an optical storage device, a magnetic storage device, or any suitable combination thereof. A computer readable storage medium can be any computer readable medium that is not a computer readable signal medium such as a propagated data signal with computer readable program code embodied therein.

Program code may be embodied as computer-readable instructions stored on or in a computer readable storage medium as, for example, source code, object code, interpretive code, executable code, or combinations thereof. Any standard or proprietary, programming or interpretive language can be used to produce the computer-executable instructions. Examples of such languages include C, C++, Pascal, JAVA, BASIC, Smalltalk, Visual Basic, and Visual C++.

Transmission of program code embodied on a computer readable medium can occur using any appropriate medium including, but not limited to, wireless, wired, optical fiber cable, radio frequency (RF), or any suitable combination thereof.

The program code may execute entirely on a user's device, partly on the user's device, as a stand-alone software package, partly on the user's device and partly on a remote device or entirely on a remote device. Any such remote device may be connected to the user's device through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external device (for example, through the Internet using an Internet Service Provider).

Additionally, the methods of this invention can be implemented on a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device such as PLD, PLA, FPGA, PAL, or the like.

Furthermore, the disclosed methods may be readily implemented in software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation platforms. Alternatively, the disclosed system may be implemented partially or fully in hardware using standard logic circuits or a VLSI design. Whether software or hardware is used to implement the systems in accordance with this invention is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized. The methods illustrated herein however can be readily implemented in hardware and/or software using any known or later developed systems or structures, devices and/or software by those of ordinary skill in the applicable art from the functional description provided herein and with a general basic knowledge of the computer arts.

While this invention has been described in conjunction with a number of embodiments, it is evident that many alternatives, modifications and variations would be or are apparent to those of ordinary skill in the applicable arts. Accordingly, it is intended to embrace all such alternatives, modifications, equivalents, and variations that are within the spirit and scope of this invention. 

What is claimed is:
 1. A position tracking system for providing immersive interaction between users and interactive software programs, comprising: a network of three or more spatially separated antennas fixed at different locations, the three or more antennas receiving radio signals sent from an RF-transmitting device operated by a user to interact with an interactive software program that produces a virtual environment; and a user input system in communication with the network of antennas to acquire therefrom time of arrival information of the radio signals received by each of the antennas, the user input system including a first interface in communication with the interactive software program that produces the virtual environment and a second interface in communication with a device having a display screen on which the virtual environment produced by the interactive software program is displayed, the user input system further including a processor programmed to calculate a position of the RF-transmitting device from the time of arrival information acquired from each of the antennas and to register the position of the RF-transmitting device within the interactive software program as user input by which the user interacts with and navigates the virtual environment produced by the interactive software program and displayed on the display screen.
 2. The position tracking system of claim 1, wherein the processor of the user input system is further programmed to run the interactive software program.
 3. The position tracking system of claim 1, wherein the interactive software program executes on a mobile device.
 4. The position tracking system in claim 3, wherein the mobile device comprises the RF-transmitting device whose position is calculated and registered by the user input system.
 5. The position tracking system in claim 3, wherein the first interface of the user input system is in wireless communication with the mobile device.
 6. The position tracking system in claim 3, wherein the first interface of the user input system includes a Universal Serial Bus (USB) connection to the mobile device.
 7. The position tracking system of claim 1, wherein the user input system is in wireless communication with the three or more antennas in the network.
 8. The position tracking system of claim 1, wherein the user input system is incorporated in the device having the display screen.
 9. The position tracking system of claim 1, wherein the second interface of the user input system comprises a USB connection to the device having the display screen through which the user input system receives power.
 10. The position tracking system of claim 1, wherein the second interface of the user input system comprises a High Definition Multimedia Interface (HDMI) connection to the device having the display screen through which the user input system sends the virtual environment as affected by the registered position of the RF-transmitting device.
 11. A method for providing immersive interaction between users and interactive software programs, the method comprising: receiving radio-frequency (RF) signals, transmitted by an RF-transmitting device operated by a user to interact with an interactive software program that produces a virtual environment, at three or more spatially separated antennas; acquiring time of arrival information from the RF signals; computing a position of the RF-transmitting device from the time of arrival information acquired from the RF signals; and registering the computed position of the RF-transmitting device within the interactive software program as user input by which the user interacts with and navigates the virtual environment produced by the interactive software program; and transmitting the virtual environment, as affected by the registered position of the RF-transmitting device, to a display apparatus for display.
 12. The method of claim 11, further comprising receiving the virtual environment, as affected by the registered position of the RF-transmitting device, over a wireless communication link from a mobile device running the interactive software program before transmitting the virtual environment, as affected by the registered position of the RF-transmitting device, to the display apparatus for display.
 13. The method of claim 11, further comprising receiving the virtual environment, as affected by the registered position of the RF-transmitting device, over a Universal Serial Bus (USB) connection from a mobile device running the interactive software program before transmitting the virtual environment, as affected by the registered position of the RF-transmitting device, to the display apparatus for display.
 14. The method of claim 11, wherein transmitting the virtual environment, as affected by the registered position of the RF-transmitting device, to the display apparatus for display occurs over an HDMI connection. 